package com.example.amer.story.core.common.req;

import io.swagger.v3.oas.annotations.Parameter;
import lombok.Data;

/**
 * 分页请求数据格式封装，所有分页请求的Dto类都应继承该类
 */
@Data
public class PageReqDto {
    /**
     * 请求页码，默认第 1 页
     */
    @Parameter(description = "请求页码，默认第 1 页")
    private int pageNum = 1;

    /**
     * 每页大小，默认每页 10 条
     */
    @Parameter(description = "每页大小，默认每页 10 条")
    private int pageSize = 10;

    /**
     * 是否查询所有，默认不查所有 为 true 时，pageNum 和 pageSize 无效
     *
     * 表示该参数在 Swagger UI 或生成的 API 文档中将被隐藏。
     * 这意味着该参数不会在 API 文档中显示，用户将无法在 Swagger UI 中看到或操作该参数。
     */
    @Parameter(hidden = true)
    private boolean fetchAll = false;
}
